package com.cxso.example.domain.wlpt.waybill;

import com.cxso.example.enums.wlpt.InsureBuyerEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

@Setter
@Getter
@Accessors(chain = true)
@Schema(description = "运单基础信息")
public class ApiWaybillBasicDomain {

    @Schema(description = "客户单号")
    @NotBlank(message = "客户单号不可为空")
    @Size(max = 30, message = "客户单号长度不能超过30")
    private String billCode;

    @Schema(description = "主体ID")
    @NotBlank(message = "主体ID不可为空")
    private String bodyId;

    @Schema(description = "司机ID")
    @NotBlank(message = "司机ID不可为空")
    private String driverId;

    @Schema(description = "车辆ID")
    @NotBlank(message = "车辆ID不可为空")
    private String vehicleId;

    @Schema(description = "车队长（车老板）ID")
    private String leaderId;

    @Schema(description = "保险购买方")
    @NotNull(message = "保险购买方不能为空")
    private InsureBuyerEnum insureBuyer;

    @Schema(description = "运单备注")
    private String remark;

}
